package cn.honqun.tinycms.repository;

import cn.honqun.tinycms.domain.entity.FileObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;

/**
 * 文件对象Mapper
 */
public interface FileObjectMapper extends BaseMapper<FileObject> {
    /**
     * 新增文件对象
     */
    @Override
    int insert(FileObject fileObject);

    /**
     * 根据URI删除文件对象
     */
    int delete(FileObject fileObject);

    /**
     * 根据URL查询文件对象
     */
    FileObject selectByURL(String url);

    /**
     * 根据URI查询文件对象
     */
    FileObject selectByURI(String uri);

    /**
     * 关联文件对象到目标对象
     */
    int attach(FileObject fileObject);

    /**
     * 解除关联
     */
    int detach(FileObject fileObject);

    /**
     * 列出某个对象管理的文件对象
     */
    List<FileObject> selectByTarget(Long targetId);

}
